layui.define(function(exports){ //提示：模块也可以依赖其它模块，如：layui.define('layer', callback);
  var obj = {};
exports('xadmin', obj);
});
var $ = layui.$;

var xadmin={
    /*
     * 弹出框口
     * 参数解释：
       title   标题
       url     请求的url
       width   弹出层宽度（缺省调默认值）
       height  弹出层高度（缺省调默认值）
       full    是否全屏
       par     是否在父窗口打开
    */
    open:function(options){
      let url = options.url ? options.url : '';
      let title= options.title ? options.title : '';
      let w= options.width ? options.width : '1060px';
      let h= options.height ? options.height : '500px';
      let full= options.full ? options.full : false;
      let par= options.par ? options.par : false;  //父窗口打开
      let layid= options.layid ? options.layid : 'mswindow'; //设置id
      let refresh= options.refresh ? options.refresh : false;  //是否刷新
      let offset = options.offset ? options.offset : '100px';  //离顶部高度
      let closebtn = options.closebtn ? 0 : 1;  //关闭按钮显示
      let index;
      switch(par){
        case false:
          index = layer.open({
            type: 2
            , title: title
            , content:url
            , offset:offset
            , area: [w, h]
            , maxmin : true //添加最大化
            , closeBtn: closebtn // 显示关闭按钮
            , id : layid
            , end:function() {
                if(refresh){
                  location.reload();
                }
            }
          });
          if(full){
            layer.full(index);
          }
          break;
        default:
          index = parent.layer.open({
            type: 2
            , title: title
            , content:url
            , offset:offset
            , area: [w, h]
            , maxmin : true //添加最大化
            , closeBtn: closebtn // 显示关闭按钮
            , id : layid
            , end:function() {
                if(refresh){
                  location.reload();
                }
            }
          });
          if(full){
            parent.layer.full(index);
          }
          break;
      }
    },

    /*
     * 关闭弹出框口
     * 参数解释：
    */
    close:function(refresh=false,$this){
      let index = parent.layer.getFrameIndex(window.name);
      if(refresh==true){
        window.parent.location.reload();
      }
      parent.layer.close(index);
    },

    /*
     * 本窗口打开
     * 参数解释：
    */
    self:function(options){
      let url = options.url ? options.url : ''
      window.location.href= url;
    },

    showimg:function(options) {
      let url = options.url ? options.url : '';
      let title = options.title ? options.title : 'show img';
      let w = options.w ? options.w : '800px';
      let h = options.h ? options.h : '450px';
      let top = options.top ? options.top : '100px';
      let par= options.par ? options.par : false  //父窗口打开
      //页面层-图片
      switch(par){
        case false:
            layer.open({
              closeBtn:1,
              type: 1,
              title: title,
              offset:top, 
              area: [w, h], 
              maxmin : true,  //添加最大化
              resize: true,
              shift: 3,
              shadeClose: true, // 点击遮罩关闭层
              content: "<span><img style='width:100%;height: auto;' src=" + url + " /></span>",//注意，如果str是object，那么需要字符拼接。
            });
            break;
        default:
            parent.layer.open({
              closeBtn:1,
              type: 1,
              title: title,
              offset:top, 
              area: [w, h], 
              maxmin : true,  //添加最大化
              resize: true,
              shift: 3,
              shadeClose: true, // 点击遮罩关闭层
              content: "<span><img style='width:100%;height: auto;' src=" + url + " /></span>",//注意，如果str是object，那么需要字符拼接。
            });
            break;
        }    
    },

    /*
     * 异步post提交
     * 参数解释：
       path,url,id
    */
    post:function(options){
      let url = options.url ? options.url : '';
      let data = options.data ? options.data : {};
      let msg= options.msg ? options.msg : 'error, Please check the operation';
      let tip = options.tip?options.tip:'notip';
      switch(tip){
        case 'notip':
            $.ajax({
              url: url,
                type: 'POST',
                data: data,
                success: function(res) {
                  if (res.code == 200) {
                    layer.msg(res.msg);
                    setTimeout(() => {
                      window.self.location.reload();
                    }, 2000); 
                  } else {
                    layer.msg(res.msg);
                  }
                },
                error: function(xhr, status, error) {
                  // 请求失败时的回调函数
                  console.error("Error: " + error);
                  console.error("Status: " + status);
                  console.error("Error Thrown: " + xhr.responseText);
                  layer.msg(msg);
                }
            });
            break;
        default:
            layer.confirm(tip, function (index) {
              $.ajax({
                url: url,
                type: 'POST',
                data: data,
                success: function(res) {
                  if (res.code == 200) {
                    layer.msg(res.msg);
                    setTimeout(() => {
                      window.self.location.reload();
                    }, 2000); 
                  } else {
                    layer.msg(res.msg);
                  }
                },
                error: function(xhr, status, error) {
                  // 请求失败时的回调函数
                  console.error("Error: " + error);
                  console.error("Status: " + status);
                  console.error("Error Thrown: " + xhr.responseText);
                  layer.msg(msg);
                }
              });
            })
            break;
        }   
    },

    /*
     * 异步获取
     * 参数解释：
       path,url,id
    */
    get:function(options){
      let url = options.url ? options.url : '';
      let data= options.data ? options.data : {};
      let msg= options.msg ? options.msg : 'error, Please check the operation';
      let tip = options.tip?options.tip:'notip';
      switch(tip){
        case 'notip':
            $.ajax({
              url: url,
              type: 'GET',
              data: data,
              success: function(res) {
                if (res.code == 200) {
                  layer.msg(res.msg);
                  Object.keys(res.data).forEach(key => {
                    $('#'+key).val(res.data[key]); 
                  }) 
                } else {
                  layer.msg(res.msg);
                }
              },
              error: function(xhr, status, error) {
                // 请求失败时的回调函数
                console.error("Error: " + error);
                console.error("Status: " + status);
                console.error("Error Thrown: " + xhr.responseText);
                layer.msg(msg);
              }
            });
            break;
        default:
            layer.confirm(tip, function (index) {
              $.ajax({
                url: url,
                type: 'POST',
                data: data,
                success: function(res) {
                  if (res.code == 200) {
                    layer.msg(res.msg);
                    Object.keys(res.data).forEach(key => {
                      $('#'+key).val(res.data[key]); 
                    }) 
                  } else {
                    layer.msg(res.msg);
                  }
                },
                error: function(xhr, status, error) {
                  // 请求失败时的回调函数
                  console.error("Error: " + error);
                  console.error("Status: " + status);
                  console.error("Error Thrown: " + xhr.responseText);
                  layer.msg(msg);
                }
              });
            })
            break;
        } 
    },
    // 点击复制单号
    copy:function(content) {
        var oInput = document.createElement('input');
        oInput.value = content;
        document.body.appendChild(oInput);
        oInput.select(); // 选择对象
        document.execCommand("Copy"); // 执行浏览器复制命令
        oInput.className = 'oInput';//设置class名
        document.getElementsByClassName("oInput")[0].remove();//移除这个input
        layer.msg('复制成功！', { icon: 0, skin: 'success_msg', time: 3000 });// success_msg; error_msg;warn_msg; 
    }
}